1. Field of the Invention
The present invention relates to distributed computing among multiple nodes in a network.
2. Description of the Related Art
Networks of general purpose computer systems and special devices connected by external communication links are well known and widely used in commerce. The networks often include one or more network devices that facilitate the passage of information between the computer systems and special devices. A network node is a network device or computer system or special device connected by the communication links. An “end node” is a network node that is configured to originate or terminate communications over the network. An “intermediate network node” facilitates the passage of data between end nodes.
In distributed computing, many nodes in a network have storage or processing resources that are utilized to spread total storage and processing requirements of an enterprise or other organization across the network. Thus, no single node is burdened with the total computing and storage requirements of the enterprise or organization. The data items or services, or both, available from a distributed computing system are called distributed objects. Distributed systems, such as distributed databases and distributed web page servers, are widely known and used in commerce. An aspect of a distributed system is assigning responsibility for every distributed object to a node in the network. An aspect of accessing a requested object is locating the node which controls access to object and usually on which the object resides, also called performing “distributed object location.”
Various approaches have been proposed to distribute identifiers for objects among identifiers for nodes, which fairly spread the load and easily recover from node removal and node joins. These approaches are subject to temporary outages as objects are transferred to joining nodes or from departing nodes in distributed systems composed of nodes that are peers without a central authority. A new challenge for distributed computing among peers is to make use of mobile networks, in which nodes are frequently joining or leaving the network, without suffering undue outages.